package com.widget.string;

import com.google.common.base.Joiner;
import com.google.common.base.Splitter;
import com.google.common.collect.Lists;
import java.util.List;
import org.apache.commons.lang3.StringUtils;

/**
 * 字符串
 *
 * @author mlliud
 * @date 2020/7/29 2:27 下午
 */
public class StringHelper {

  private static final Splitter SPLITTER = Splitter
      //分隔符
      .on(",")
      //过滤空
      .omitEmptyStrings()
      //trim空数据
      .trimResults();

  private static final Joiner JOINER = Joiner
      //分隔符
      .on(",")
      //跳过空
      .skipNulls();

  private static void doc() {
    /**
     * org.apache.commons
     */
    //左侧补齐 第一个参数：原始字符串，第二个参数：字符串的长度，第三个是补充的字符串 ps:***oldStr1
    String newStr1 = StringUtils.leftPad("oldStr1", 10, "*");

    //获取字符串左侧指定长度的字符串，第一个参数：原字符串，第二个参数：取左侧字符串的长度 从1开始计数 ps:oldSt
    String newStr2 = StringUtils.left("oldStr3", 5);

    //左侧补齐，默认使用空格补齐，第一个参数：原字符串，第二个参数：字符串总长度，不足用空格补全 ps:  oldStr4
    String newStr3 = StringUtils.leftPad("oldStr4", 10);

    //两侧补齐 第一个参数：原始字符串，第二个参数：字符串的长度，第三个是补充的字符串 ps:*oldStr1**
    String newStr4 = StringUtils.center("oldStr1", 10, "*");

    /**
     * com.google.common
     */
    //字符串转为集合
    List<String> strList = SPLITTER.splitToList("1,2,3,4,5,6");

    //将集合转字符串
    strList = Lists.newArrayList("1", null, "3");
    //结果: 1,null,3
    String joinLang = String.join(",", strList);
    //结果: 1,3
    String joinGo = JOINER.join(strList);
  }

  public static void main(String[] args) {
    StringHelper.doc();
  }
}
